#ifndef _Interfaces_h_
#define _Interfaces_h_

#include "OutportDynamicList.h"

using namespace std;

class Color;

class IEntity
{
public:
	virtual void Initialize() = 0;
	virtual void Evaluate() = 0;
};

class IOutport : public IEntity
{
public:
		Color* _Color;

		virtual OutportDynamicList* GetDependentOutports() = 0;
};

class IRegister : public IEntity
{
public:
};

class ISignal : public IEntity
{
public:
};

class IController : public IEntity
{
public:
};

#endif // include guard
